<?php
/**
 * Класс Controller_Ajax_Review отвечает за обработку ajax-запросов, связанных с отзывами
 * @author Mike
 */
class Controller_Ajax_Review extends Controller_Ajax {
	
	public function actionSwitch() {
		switch ($this->arrRequest[2]) {
			case 'add' : 
				$this->actionAdd();
				break;
			default:
				throw new Exception('', 404);
				break;
		}
	}
	
	/**
	 * Добавление отзыва
	 */
	private function actionAdd() {
		$idProduct = Service_Escape::requestDataInt('ID_product');
		$score = Service_Escape::requestDataInt('score');
		$text = Service_Escape::requestDataString('text');
		$idUser = User_Seance::getId();
		
		if (!$score || !$text || !$idUser) return $this->makeStandardError('Переданы не все данные');
		
		$objProduct = new Product($idProduct);
		if(!$objProduct->id) return $this->makeStandardError('Передан неверный id');
		
		$objReview = new Review(array(
			'ID_product' => $objProduct->id,
			'review_text' => $text,
			'score' => $score,
		));
		
		if($objReview->save()) $this->arrReturn = array('result' => 'OK');
		else return $this->makeStandardError('Неизвестная ошибка');
	}
}
